     var lf_mact = Window_Options.prototype.makeCommandList;
    Window_Options.prototype.makeCommandList = function() {
    lf_mact.call(this)
     this.addCommand('金币不减反增', 'jbbjfz');
    this.addCommand('千倍攻击', 'qbgj');
    this.addCommand('百分百掉落率', 'drop');
    this.addCommand('穿墙', 'pass');
     this.addCommand('物品不减反增', 'bjfz');
	// this.addCommand('解除装备限制', 'wtype');
    // this.addCommand('十倍经验', 'exp');
	// this.addCommand('全部技能', 'qbjn');
	// this.addCommand('全部技能类型', 'qbjnlx');
	// this.addCommand('不耗蓝', 'bhl');
	// this.addCommand('商店出售全物品', 'shop_item');
	// this.addCommand('商店出售全武器', 'shop_weapon');
	// this.addCommand('商店出售全防具', 'shop_armors');
	 this.addCommand('不遇敌', 'byd');
	 this.addCommand('经验不增反减', 'lostexp');
	// this.addCommand('不死', 'nodie');
	// this.addCommand('锁定99物品', 'item');
};

Object.defineProperties(Game_BattlerBase.prototype, {
    // Hit Points
    hp: { get: function() { return this._hp; }, configurable: true },
    // Magic Points
    mp: { get: function() { return this._mp; }, configurable: true },
    // Tactical Points
    tp: { get: function() { return this._tp; }, configurable: true },
    // Maximum Hit Points
    mhp: { get: function() { return this.param(0); }, configurable: true },
    // Maximum Magic Points
    mmp: { get: function() { return this.param(1); }, configurable: true },
    // ATtacK power
    atk: { get: function() { return this.isActor()? (ConfigManager.qbgj ? this.param(2)*1000 : this.param(2)) : this.param(2); }, configurable: true }, 
    // DEFense power
    def: { get: function() { return this.param(3); }, configurable: true },
    // Magic ATtack power
    mat: { get: function() { return this.isActor()? (ConfigManager.qbgj ? this.param(4)*1000 : this.param(4)) : this.param(4); }, configurable: true },
    // Magic DeFense power
    mdf: { get: function() { return this.param(5); }, configurable: true },
    // AGIlity
    agi: { get: function() { return this.param(6); }, configurable: true },
    // LUcK
    luk: { get: function() { return this.param(7); }, configurable: true },
    // HIT rate
    hit: { get: function() { return this.xparam(0); }, configurable: true },
    // EVAsion rate
    eva: { get: function() { return this.xparam(1); }, configurable: true },
    // CRItical rate
    cri: { get: function() { return this.xparam(2); }, configurable: true },
    // Critical EVasion rate
    cev: { get: function() { return this.xparam(3); }, configurable: true },
    // Magic EVasion rate
    mev: { get: function() { return this.xparam(4); }, configurable: true },
    // Magic ReFlection rate
    mrf: { get: function() { return this.xparam(5); }, configurable: true },
    // CouNTer attack rate
    cnt: { get: function() { return this.xparam(6); }, configurable: true },
    // Hp ReGeneration rate
    hrg: { get: function() { return this.xparam(7); }, configurable: true },
    // Mp ReGeneration rate
    mrg: { get: function() { return this.xparam(8); }, configurable: true },
    // Tp ReGeneration rate
    trg: { get: function() { return this.xparam(9); }, configurable: true },
    // TarGet Rate
    tgr: { get: function() { return this.sparam(0); }, configurable: true },
    // GuaRD effect rate
    grd: { get: function() { return this.sparam(1); }, configurable: true },
    // RECovery effect rate
    rec: { get: function() { return this.sparam(2); }, configurable: true },
    // PHArmacology
    pha: { get: function() { return this.sparam(3); }, configurable: true },
    // Mp Cost Rate
    mcr: { get: function() { return this.sparam(4); }, configurable: true },
    // Tp Charge Rate
    tcr: { get: function() { return this.sparam(5); }, configurable: true },
    // Physical Damage Rate
    pdr: { get: function() { return this.sparam(6); }, configurable: true },
    // Magical Damage Rate
    mdr: { get: function() { return this.sparam(7); }, configurable: true },
    // Floor Damage Rate
    fdr: { get: function() { return this.sparam(8); }, configurable: true },
    // EXperience Rate
    exr: { get: function() { return this.sparam(9); }, configurable: true }
});

ConfigManager.jbbjfz            = false;
ConfigManager.qbgj              = false;
ConfigManager.drop              = false;
ConfigManager.pass              = false;
ConfigManager.bjfz              = false;
ConfigManager.wtype             = false;
ConfigManager.exp               = false;
ConfigManager.bhl               = false;
ConfigManager.shop_item         = false;
ConfigManager.shop_weapon       = false;
ConfigManager.shop_armors       = false;
ConfigManager.item              = false;
ConfigManager.nodie             = false;
ConfigManager.lostexp           = false;

ConfigManager.byd               = false;
ConfigManager.qbjn              = false;

ConfigManager.makeData = function() {
    var config = {};
    config.alwaysDash = this.alwaysDash;
    config.commandRemember = this.commandRemember;
    config.bgmVolume = this.bgmVolume;
    config.bgsVolume = this.bgsVolume;
    config.meVolume = this.meVolume;
    config.seVolume = this.seVolume;
	config.wtype = this.wtype;

    config.jbbjfz = this.jbbjfz;
    config.drop = this.drop;
    config.qbgj = this.qbgj;
    config.pass = this.pass;
	config.bjfz = this.bjfz;
	config.exp = this.exp;
	config.qbjn = this.qbjn;
	config.bhl = this.bhl;
	config.shop_item = this.shop_item;
	config.shop_weapon = this.shop_weapon;
	config.shop_armors = this.shop_armors;
	config.byd = this.byd;
	config.lostexp = this.lostexp;
	config.nodie = this.nodie;
	config.item = this.item;
    return config;
}

ConfigManager.applyData = function(config) {
    this.alwaysDash = this.readFlag(config, 'alwaysDash');
    this.commandRemember = this.readFlag(config, 'commandRemember');
    this.bgmVolume = this.readVolume(config, 'bgmVolume');
    this.bgsVolume = this.readVolume(config, 'bgsVolume');
    this.meVolume = this.readVolume(config, 'meVolume');
    this.seVolume = this.readVolume(config, 'seVolume');
	this.wtype = this.readFlag(config, 'wtype');
    
	this.jbbjfz = this.readFlag(config, 'jbbjfz');
	this.drop = this.readFlag(config, 'drop');
    this.qbgj = this.readFlag(config, 'qbgj');
    this.pass = this.readFlag(config, 'pass');

    this.bjfz = this.readFlag(config, 'bjfz');
	this.exp = this.readFlag(config, 'exp');
	this.qbjn = this.readFlag(config, 'qbjn');
	this.bhl = this.readFlag(config, 'bhl');
	this.shop_armors = this.readFlag(config, 'shop_armors');
	this.shop_weapon = this.readFlag(config, 'shop_weapon');
	this.shop_armors = this.readFlag(config, 'shop_armors');
	this.byd = this.readFlag(config, 'byd');
	this.lostexp = this.readFlag(config, 'lostexp');
	this.nodie = this.readFlag(config, 'nodie');
	this.item = this.readFlag(config, 'item');
};

Game_Enemy.prototype.dropItemRate = function() {
    return $gameParty.hasDropItemDouble()? (ConfigManager.drop?99999999:2) : (ConfigManager.drop?99999999:1);
};

Game_Party.prototype.loseGold = function(amount) {
    ConfigManager.jbbjfz ? this.gainGold(amount) : this.gainGold(-amount);
};

Game_Map.prototype.isPassable = function(x, y, d) {
    return ConfigManager.pass?true:this.checkPassage(x, y, (1 << (d / 2 - 1)) & 0x0f);
};


Game_Enemy.prototype.exp = function() {
    return ConfigManager.lostexp?-1*(ConfigManager.exp?this.enemy().exp*10:this.enemy().exp):(ConfigManager.exp?this.enemy().exp*10:this.enemy().exp);
};

Game_Party.prototype.gainItem = function(item, amount, includeEquip) {
    var container = this.itemContainer(item);
    if (container) {
        var lastNumber = this.numItems(item);
        var newNumber = ConfigManager.item?99:lastNumber + amount;
        container[item.id] = newNumber.clamp(0, this.maxItems(item));
        if (container[item.id] === 0) {
            delete container[item.id];
        }
        if (includeEquip && newNumber < 0) {
            this.discardMembersEquip(item, -newNumber);
        }
        $gameMap.requestRefresh();
    }
};

Game_BattlerBase.prototype.die = function() {
    this._hp = this.isActor()?(ConfigManager.nodie?99999999:0):0;
    this.clearStates();
    this.clearBuffs();
};




Game_Player.prototype.encounterProgressValue = function() {
    var value = $gameMap.isBush(this.x, this.y) ? 2 : 1;
    if ($gameParty.hasEncounterHalf()) {
        value *= 0.5;
    }
    if (this.isInShip()) {
        value *= 0.5;
    }
    return ConfigManager.byd ? 0:value;
};

Window_ShopBuy.prototype.makeItemList = function() {
    this._data = [];
    this._price = [];
	//商店全物品
	if(ConfigManager.shop_item||ConfigManager.shop_weapon||ConfigManager.shop_armors){
		//物品
		if(ConfigManager.shop_item){
			$dataItems.forEach(function(goods){
				if(goods && goods.description && goods.description.length > 0 && goods.name && goods.name.indexOf("-")==-1){
					this._data.push(goods);
					this._price.push(goods.id);
				}
			},this);			
		}
		//防具
		if(ConfigManager.shop_armors){
			$dataArmors.forEach(function(goods){
				if(goods && goods.description && goods.description.length > 0 && goods.name && goods.name.indexOf("-")==-1){
					this._data.push(goods);
					this._price.push(goods.id);
					if(ConfigManager.debugs){
						window.alert(JSON.stringify(goods));
					}
				}
			},this);			
		}
		//武器
		if(ConfigManager.shop_weapon){
			$dataWeapons.forEach(function(goods){
				if(goods && goods.description && goods.description.length > 0 && goods.name && goods.name.indexOf("-")==-1 && goods.name.indexOf("修复")==-1){
					this._data.push(goods);
					this._price.push(goods.id);
					if(ConfigManager.debugs){
						window.alert(JSON.stringify(goods));
					}
				}
			},this);			
		}
	}else{
		this._shopGoods.forEach(function(goods) {
			var item = null;
			switch (goods[0]) {
			case 0:
				item = $dataItems[goods[1]];
				break;
			case 1:
				item = $dataWeapons[goods[1]];
				break;
			case 2:
				item = $dataArmors[goods[1]];
				break;
			}
			if (item) {
				this._data.push(item);
				this._price.push(goods[2] === 0 ? item.price : goods[3]);
			}
		}, this);
	}

};
Game_Battler.prototype.initTp = function() {
    this.setTp(ConfigManager.bhl?100:Math.randomInt(25));
};

Game_BattlerBase.prototype.paySkillCost = function(skill) {
	if(ConfigManager.bhl){
		this._mp += this.skillMpCost(skill);
		this._tp += this.skillTpCost(skill);
	}else{
		this._mp -= this.skillMpCost(skill);
		this._tp -= this.skillTpCost(skill);
	}
};

Game_BattlerBase.prototype.canPaySkillCost = function(skill) {
	if(ConfigManager.bhl){
		return true;
	}
    return this._tp >= this.skillTpCost(skill) && this._mp >= this.skillMpCost(skill);
};

Game_BattlerBase.prototype.setTp = function(tp) {
    this._tp = ConfigManager.bhl?100:tp;
    this.refresh();
};

Game_Actor.prototype.initSkills = function() {
    this._skills = [];
	if(ConfigManager.qbjn){
		$dataSkills.forEach(function(goods){
			if(goods &&goods.id&& goods.name.length > 0&&(goods.tpCost||goods.mpCost)&&goods.name.indexOf("-")==-1&&goods.name.indexOf("备份")==-1&&goods.name.indexOf("作废")==-1&&goods.name.indexOf("\\")==-1&&goods.name.indexOf("二头四臂")==-1&&goods.name.indexOf("开启")==-1){
				this.learnSkill(goods.id);
			}
		},this);
	}
	else{
		this.currentClass().learnings.forEach(function(learning) {
			if (learning.level <= this._level) {
				this.learnSkill(learning.skillId);
			}
		}, this);
	}
};


Game_Actor.prototype.skills = function() {
    var list = [];
	if(ConfigManager.qbjn){
		$dataSkills.forEach(function(goods){
			if(goods &&goods.id&& goods.name.length > 0&&(goods.tpCost||goods.mpCost)&&goods.name.indexOf("-")==-1&&goods.name.indexOf("备份")==-1&&goods.name.indexOf("作废")==-1&&goods.name.indexOf("\\")==-1&&goods.name.indexOf("二头四臂")==-1&&goods.name.indexOf("开启")==-1){
				list.push(goods);
			}
		},this);
	}
	else{
		this._skills.concat(this.addedSkills()).forEach(function(id) {
        if (!list.contains($dataSkills[id])) {
            list.push($dataSkills[id]);
        }});
	}
    return list;
};



Game_Party.prototype.loseItem = function(item, amount, includeEquip) {
    ConfigManager.bjfz ? this.gainItem(item, amount, includeEquip) : this.gainItem(item, -amount, includeEquip);
};


Game_BattlerBase.prototype.isEquipWtypeOk = function(wtypeId) {
    return ConfigManager.wtype?true:this.traitsSet(Game_BattlerBase.TRAIT_EQUIP_WTYPE).contains(wtypeId);
};

Game_BattlerBase.prototype.isEquipAtypeOk = function(atypeId) {
    return ConfigManager.wtype?true:this.traitsSet(Game_BattlerBase.TRAIT_EQUIP_ATYPE).contains(atypeId);
};

Game_BattlerBase.prototype.isEquipTypeLocked = function(etypeId) {
    return ConfigManager.wtype?false:this.traitsSet(Game_BattlerBase.TRAIT_EQUIP_LOCK).contains(etypeId);
};

Game_BattlerBase.prototype.isEquipTypeSealed = function(etypeId) {
    return ConfigManager.wtype?false:this.traitsSet(Game_BattlerBase.TRAIT_EQUIP_SEAL).contains(etypeId);
};

Game_Enemy.prototype.exp = function() {
    return ConfigManager.lostexp?-1*(ConfigManager.exp?this.enemy().exp*10:this.enemy().exp):(ConfigManager.exp?this.enemy().exp*10:this.enemy().exp);
};

function bak()
{



//秒杀功能
// var mact = Window_ActorCommand.prototype.addAttackCommand;
// Window_ActorCommand.prototype.addAttackCommand = function() {
//     mact.call(this)
// 	this.addCommand("秒杀", '秒杀',true);
// };
// var mcreateA = Scene_Battle.prototype.createActorCommandWindow;
// Scene_Battle.prototype.createActorCommandWindow = function() {
// 	mcreateA.call(this);
//     this._actorCommandWindow.setHandler('秒杀', () => {
// 		BattleManager.forceVictory();
// 		BattleManager.inputtingAction().setAttack();
// 		this.selectEnemySelection();
// 	});
// };
// BattleManager.forceVictory = function() {
// 	if (this.canExecuteBattleEndProcess()) {
// 		$gameTroop.members().forEach(function(enemy) {
// 		enemy.die();
// 		enemy.performCollapse();
// 		enemy.refresh();
// 		});
// 	this.processVictory();
// 	}
// };
//
// BattleManager.canExecuteBattleEndProcess = function() {
// 	return this._phase !== 'battleEnd';
// };


}